/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package geradordao;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Iana
 */
public class No {

    private No pai;
    private List<No> filhos = new ArrayList<No>();
    private TipoNo tipo;
    private Token token;

    public No() {
    }

    public No(TipoNo tipo) {
        this.tipo = tipo;
    }

    public No(TipoNo tipo, Token token) {
        this.tipo = tipo;
        this.token = token;
    }

    public void addFilho(No filho) {
        if (filho != null) {
            filho.setPai(this);
        }
        filhos.add(filho);
    }

    public No getFilho(Integer indice) {
        return filhos.get(indice);
    }

    public No getPai() {
        return pai;
    }

    public void setPai(No pai) {
        this.pai = pai;
    }

    public List<No> getFilhos() {
        return filhos;
    }

    public void setFilhos(List<No> filhos) {
        this.filhos = filhos;
    }

    public TipoNo getTipo() {
        return tipo;
    }

    public void setTipo(TipoNo tipo) {
        this.tipo = tipo;
    }

    public Token getToken() {
        return token;
    }

    public void setToken(Token token) {
        this.token = token;
    }
}
